#ifndef QQ_ICON_BUTTON_PRIVATE
#define QQ_ICON_BUTTON_PRIVATE

#include <qcolor.h>
#include <qobject.h>
#include <qpixmap.h>

#include "Def.h"
#include "stdafx.h"

class QQIconButton;
class QQIconButtonPrivate : public QObject
{
	Q_OBJECT;
	Q_D_CREATE(QQIconButton);
	Q_PROPERTY_CREATE_D(int, BorderRadius);
	Q_PROPERTY_CREATE_D(qreal, Opacity);
	Q_PROPERTY_CREATE_D(ElaIconType::IconName, Awesome);
	Q_PROPERTY_CREATE_D(QColor, NormalColor);
	Q_PROPERTY_CREATE_D(QColor, HoverColor);
	Q_PROPERTY_CREATE_D(QColor, PressColor);
	Q_PROPERTY_CREATE_D(QColor, SelectedColor);
	Q_PROPERTY_CREATE_D(QColor, NormalIconColor);
	Q_PROPERTY_CREATE_D(QColor, HoverIconColor);
	Q_PROPERTY_CREATE_D(QColor, PressIconColor);
	Q_PROPERTY_CREATE_D(QColor, SelectedIconColor);
	Q_PROPERTY_CREATE_D(bool, IsSelected);

public:
	explicit QQIconButtonPrivate(QObject* parent = nullptr);
	~QQIconButtonPrivate();
private:
	QPixmap _iconPix;
	bool _pIsPressed{ false };
};

#endif // !QQ_ICON_BUTTON_PRIVATE